package com.spark.searchservice.service;

import org.springframework.data.domain.Page;
import com.spark.searchapi.entity.PmsProduct;

import java.util.List;

/**
 * @author fuqiang
 * @Description elastic搜索商品
 * @Date 2021-03-05
 */
public interface IEsProductService {
    /**
     * 获取所有商品信息
     * @return
     */
    List<PmsProduct> getAll();

    /**
     * 根据 keywords 或者副标题搜索简单分页搜索商品信息
     * @param keyword 关键字搜索
     * @param pageNum 页码
     * @param pageSize 每页数量
     * @return
     */
    Page<PmsProduct> getSimplePmsProduct(String keyword, Integer pageNum, Integer pageSize);

    /**
     * 从数据库导入数据到es
     * @return
     */
    int importAll();

    /**
     * 综合查询商品数据
     * @param keyword 关键词
     * @param brandId 品牌id
     * @param productCategoryId 产品关联id
     * @param pageNum
     * @param pageSize
     * @param sort 排序
     * @return
     */
    Page<PmsProduct> search(String keyword, Long brandId, Long productCategoryId, Integer pageNum, Integer pageSize, Integer sort);
}
